package com.zhj.edu.iotserver.utils;


import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.atomic.AtomicInteger;

/**
 * 生成订单号的工具类
 */
public class OrderNumberUtils {

    //自增带锁的int数据
    private static AtomicInteger atomicInteger = new AtomicInteger(1000);

    /**
     * 获取订单号
     *      1、年月日时分秒
     *      2、自增带锁的数据
     * @return
     */
    public static synchronized String getOrderNumber(){
        //订单号的第一部分
        String prefix = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
        //第二部分需要自增的带锁的数据
        int stuff = atomicInteger.getAndIncrement();
        return prefix+stuff;
    }
}
